#ifndef _MAIN_H
#define _MAIN_H

#include <windows.h>
#include <stdio.h>
#include <math.h>

#pragma warning(disable: 4733)

typedef unsigned char byte;
typedef unsigned short word;
typedef unsigned long dword;

#include "Communicator.h"
#include "Memory.h"

extern mem::CMemory* Mem;

class CPlayer;

#include "CPlayerMgr.h"
#include "CPlayer.h"
#include "CBag.h"
#include "CTarget.h"
#include "CPet.h"
#include "CNpcDialog.h"
#include "CServer.h"
#include "CParty.h"

#include "MiscFunctions.h"
#include "MessageHandling.h"

#define out1	outmsg.Param1
#define out2	outmsg.Param2
#define out3	outmsg.Param3
#define out4	outmsg.Param4
#define out5	outmsg.Param5
#define outstr	outmsg.buffer

void WriteJMP(byte* location, byte* newFunction, byte* oldCode = NULL);
void RemoveJMP(byte* location, byte* oldCode);

#endif